@charset "UTF-8";
:root {
  --menu-border-width: 5px;
  --menu-mini-width: 2.5rem;
  --menu-maxi-width: 15.625rem;
  --menu-slide-margin: -13.125rem;
  --padding-xs: 2.5px;
  --padding-s: 5px;
  --padding-r: 7.5px;
  --padding-m: 10px;
  --padding-l: 15px;
  --padding-xl: 20px;
  --padding-2xl: 25px;
  --padding-3xl: 30px;
  --padding-4xl: 35px;
  --padding-5xl: 40px;
  --padding-6xl: 45px;
  --padding-7xl: 50px;
  --negative-padding-s: -5px;
  --negative-padding-m: -10px;
  --negative-padding-l: -15px;
  --negative-padding-xl: -20px;
  --print-padding-s: 1.25pt;
  --print-padding-r: 2.5pt;
  --print-padding-m: 5pt;
  --print-padding-l: 10pt;
  --print-padding-xl: 15pt;
  --print-padding-2xl: 20pt;
  --variable-horizontal-padding-xs: .3125rem;
  --variable-horizontal-padding-s: .9375rem;
  --variable-horizontal-padding-m: 1.875rem;
  --variable-horizontal-padding-l: 2.8125rem;
  --negative-variable-horizontal-padding-s: -.9375rem;
  --negative-variable-horizontal-padding-m: -1.875rem;
  --variable-vertical-padding-m: .625rem;
  --variable-vertical-padding-l: 1.25rem;
  --variable-vertical-padding-xl: 2.5rem;
  --icon-size-s: 1.125rem;
  --icon-size-m: 1.5rem;
  --icon-size-l: 2rem; }

@media (max-width: 75rem) {
  :root {
    --menu-horizontal-padding: 1rem;
    --menu-horizontal-negative-margin: -1rem;
    --menu-link-padding: calc( 1rem - 5px );
    --menu-sub-link-padding: calc( 1rem + 5px ); } }

@media (min-width: 75rem) {
  :root {
    --menu-horizontal-padding: 2rem;
    --menu-horizontal-negative-margin: -2rem;
    --menu-link-padding: calc( 2rem - 5px );
    --menu-maxi-width: 18.75rem;
    --menu-slide-margin: -16.25rem;
    --menu-sub-link-padding: calc( 2rem + 10px ); } }

@page {
  margin: 1cm; }

html {
  background-color: transparent;
  border: 0 none;
  color: black;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  font-family: 'OpenSans', sans-serif;
  font-size: 10px;
  font-size: 9pt;
  font-weight: normal;
  height: auto;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative;
  white-space: normal;
  width: auto; }
  html h1,
  html h2,
  html h3,
  html h4,
  html h5,
  html h6,
  html p,
  html pre,
  html hr {
    margin: 1em 0; }
  html sup {
    font-size: .625em; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit; }

img.wtmk {
  height: auto;
  opacity: .33;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2; }

header.task_header {
  height: 7.5cm;
  z-index: 5; }
  header.task_header .full_banner {
    display: block;
    height: auto;
    margin: 0 auto 0 0;
    max-height: 3.7cm;
    max-width: 18.5cm; }
  header.task_header .pdf_logo {
    border: 0 none;
    width: 10cm; }
    header.task_header .pdf_logo td {
      border: 0 none;
      text-align: left;
      vertical-align: top; }
    header.task_header .pdf_logo .logo_cell {
      overflow: hidden;
      width: 3.25cm; }
    header.task_header .pdf_logo .logo_img {
      display: block;
      height: auto;
      max-width: 3cm; }
    header.task_header .pdf_logo .company_cell {
      width: 6.75cm; }
    header.task_header .pdf_logo h4 {
      margin-top: 0; }
  header.task_header .pdf_address_block {
    display: block;
    height: 4cm;
    left: 9.5cm;
    position: absolute;
    top: 4cm;
    width: 9cm; }
    header.task_header .pdf_address_block div {
      height: 4cm;
      padding: .5cm;
      position: relative;
      width: 9cm; }
      header.task_header .pdf_address_block div .corner {
        border: 0 dotted #b0b0b0;
        display: block;
        height: .4cm;
        position: absolute;
        width: .4cm; }
        header.task_header .pdf_address_block div .corner.bottom {
          border-bottom-width: 1px;
          bottom: 0; }
        header.task_header .pdf_address_block div .corner.left {
          border-left-width: 1px;
          left: 0; }
        header.task_header .pdf_address_block div .corner.right {
          border-right-width: 1px;
          right: 0; }
        header.task_header .pdf_address_block div .corner.top {
          border-top-width: 1px;
          top: 0; }

main {
  display: block;
  position: relative; }

.information_intro {
  font-size: 8pt;
  width: 9.5cm; }

.pdf_information {
  display: block;
  font-size: 8pt;
  width: 18.5cm; }
  .pdf_information h1 {
    font-size: 11pt;
    margin: 0;
    padding: var(--print-padding-r) 0 0; }
  .pdf_information .workplace {
    line-height: 1.25;
    padding: .1cm 0; }
  .pdf_information .coop_header {
    border: 1pt solid #efefef;
    margin: var(--print-padding-r) 0;
    padding: var(--print-padding-m); }
  .pdf_information .info_cols {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    padding-bottom: .5cm; }
    .pdf_information .info_cols .customer_info {
      flex: 0 0 9cm;
      margin-left: var(--print-padding-m);
      padding-top: .25cm; }

.pdf_spacer {
  font-size: 2pt; }

table {
  border-collapse: collapse;
  border: 1pt solid black;
  border-width: 1pt 0;
  table-layout: fixed;
  width: 18.5cm; }
  table tr:nth-child(2n+1) {
    background: none !important; }
  table + table {
    border-top-width: 0; }
  table.payment_schedule {
    border-color: black;
    border-width: 1pt 0;
    table-layout: auto; }
    table.payment_schedule th,
    table.payment_schedule td {
      border-color: black; }
    table.payment_schedule .col_date {
      width: 1.625cm; }
    table.payment_schedule .col_number {
      width: 1.75cm; }

.pdf_task_table table {
  border-width: 0; }
  .pdf_task_table table:first-child {
    border-top-width: 1pt; }
  .pdf_task_table table:last-child {
    border-bottom-width: 1pt; }
  .pdf_task_table table .group_description .col_text {
    padding-bottom: var(--print-padding-l); }
  .pdf_task_table table .group_description h2 {
    font-size: 10pt;
    margin: 0;
    padding: 0; }
  .pdf_task_table table .group_description td {
    border-top-width: 1pt; }
  .pdf_task_table table .group_description p {
    margin: 0;
    padding: 0; }
  .pdf_task_table table .work_item td {
    border-top-style: dashed; }
    .pdf_task_table table .work_item td:first-child {
      padding-left: var(--print-padding-l); }
  .pdf_task_table table .table_head th,
  .pdf_task_table table .table_head td {
    color: #757575; }

th,
td {
  background: rgba(255, 255, 255, 0.7);
  border: 0.5pt solid black;
  border-width: .5pt 0 0;
  font-size: 8pt;
  padding: var(--print-padding-r);
  vertical-align: top; }

th[scope="col"] {
  border-top-width: 0;
  line-height: 1; }

tbody tr:first-child th.progress_invoicing {
  text-align: center; }

tbody tr:not(:first-child) th.progress_invoicing {
  border-top-width: 0; }

th {
  vertical-align: bottom; }

td.empty {
  padding: 0; }

td.archive {
  color: #757575;
  font-style: italic; }

.long_description td {
  border-width: 0;
  padding: 0 var(--print-padding-r) var(--print-padding-r); }

.col_text {
  hyphens: auto;
  text-align: left; }
  .col_text.description {
    overflow-wrap: break-word;
    /* valeur bizarre mais c’est pour weasyprint */ }
    .col_text.description h1,
    .col_text.description h2,
    .col_text.description h3,
    .col_text.description h4,
    .col_text.description h5,
    .col_text.description h6 {
      font-weight: bold;
      margin: 0;
      padding: var(--print-padding-r) 0 0; }
    .col_text.description h1 {
      font-size: 11pt;
      line-height: 9pt; }
    .col_text.description h2 {
      font-size: 10pt;
      line-height: 9pt; }
    .col_text.description h3,
    .col_text.description h4,
    .col_text.description h5,
    .col_text.description h6 {
      font-size: 9pt; }
  .col_text.rich_text ul {
    list-style-type: square;
    margin: 0 0 var(--print-padding-m) var(--print-padding-l);
    padding: 0; }
    .col_text.rich_text ul li {
      padding: var(--print-padding-s) 0; }
      .col_text.rich_text ul li:last-child {
        padding-bottom: 0; }
    .col_text.rich_text ul ul {
      margin-left: var(--print-padding-xl); }
    .col_text.rich_text ul:last-child {
      margin-bottom: 0; }
  .col_text.unity {
    width: 1.75cm; }
  .col_text.align_right {
    text-align: right; }

.col_number {
  text-align: right; }

tr.work_description h3.work_title {
  padding: 0; }
  tr.work_description h3.work_title + * {
    padding-top: var(--print-padding-m); }

tr.work_description .col_number,
tr.work_description .col_text.unity {
  font-weight: bold; }

.col_date {
  width: 3cm; }

.price,
.price_total {
  width: 2cm; }

tr.row_total th,
tr.row_total td {
  font-weight: bold; }

.progress_invoicing,
th.progress_invoicing {
  text-align: center;
  width: 1.25cm; }

.deposit {
  width: 1.75cm; }

.price_total {
  background: rgba(249, 249, 249, 0.7); }

.quantity {
  width: 1cm; }

.tva {
  width: 1.25cm; }

.screen-reader-text {
  display: none; }

.notes_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch; }
  .notes_group > div {
    flex: 1 1 50%; }
    .notes_group > div.options {
      display: flex;
      flex-direction: column;
      justify-content: center; }
    .notes_group > div + div:nth-child(2n) {
      margin-left: var(--print-padding-m); }

.payment_conditions > div {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  padding: var(--print-padding-m); }
  .payment_conditions > div p,
  .payment_conditions > div > div {
    flex: 0 0 50%; }
  .payment_conditions > div p {
    padding: 0 var(--print-padding-m) 0 0; }
  .payment_conditions > div > div {
    padding-left: var(--print-padding-m); }

.payment_conditions table {
  max-width: 100%;
  width: 8.875cm; }
  .payment_conditions table th {
    text-align: left; }

.estimation_last_mention {
  align-items: flex-start;
  display: flex;
  justify-content: space-between; }
  .estimation_last_mention .pdf_mention_block {
    flex: 0 0 12cm; }
  .estimation_last_mention .pdf_sign_block {
    flex: 0 0 6cm; }

.pdf_mention_block {
  background: rgba(255, 255, 255, 0.7);
  border: 1pt solid #efefef;
  break-inside: avoid;
  margin: var(--print-padding-l) 0 0; }
  .pdf_mention_block h4 {
    background: #efefef;
    margin: 0;
    padding: 0 var(--print-padding-m); }
  .pdf_mention_block p {
    font-size: 8pt;
    line-height: 1.25;
    margin: 0;
    padding: var(--print-padding-r) var(--print-padding-m); }

.document_help {
  font-size: 7pt; }

.pdf_sign_block {
  background: rgba(255, 255, 255, 0.7);
  border: 1pt solid #efefef;
  margin: var(--print-padding-l) 0 0 0;
  break-inside: avoid; }
  .pdf_sign_block .pdf_sign_block_width h4 {
    background: #efefef;
    margin: 0;
    padding: 0 var(--print-padding-m); }
  .pdf_sign_block .pdf_sign_block_width p {
    margin: 0;
    padding: var(--print-padding-m) var(--print-padding-m) var(--print-padding-r); }
    .pdf_sign_block .pdf_sign_block_width p.reference {
      padding: var(--print-padding-r) var(--print-padding-m) 0; }
  .pdf_sign_block .pdf_sign_block_width .signature {
    padding-bottom: 1cm; }

footer {
  bottom: .5cm;
  display: block;
  left: 0;
  line-height: 1.25;
  position: fixed;
  text-align: center;
  width: 100%; }

.pdf_footer {
  display: block;
  font-size: 7pt;
  margin: 0;
  padding: .2cm 0 0;
  text-align: center; }
  .pdf_footer p {
    background: #f9f9f9;
    margin: 0;
    padding: .1cm 1cm; }

.pdf_page_number {
  display: block;
  font-size: 8pt;
  margin: 0; }
  .pdf_page_number p {
    margin: 0;
    padding: .1cm 0 0;
    text-align: center; }
  .pdf_page_number .page_count span {
    display: inline-block;
    padding: 0 1em; }

.cgv-container {
  bookmark-level: 1;
  bookmark-label: "CGV";
  break-before: always; }
  .cgv-container .pdf_cgv {
    line-height: 1.25;
    font-size: 7pt;
    padding: 0;
    text-align: justify; }
    .cgv-container .pdf_cgv + .pdf_cgv {
      margin-top: 1cm; }
  .cgv-container h1, .cgv-container h2, .cgv-container h3, .cgv-container h4, .cgv-container h5 {
    margin: .1cm; }

/* Atelier et Rendez-vous */
.workshop_view table, .activity_view table {
  table-layout: fixed; }

.workshop_view td.col_text.description, .activity_view td.col_text.description {
  vertical-align: middle; }

.workshop_view th.slot_signature, .activity_view th.slot_signature {
  border-left: 0.5pt dashed black;
  text-align: center; }

.workshop_view td.slot_signature, .activity_view td.slot_signature {
  border-left: 0.5pt dashed black;
  height: 1.5cm;
  width: 3cm; }

.workshop_view header, .activity_view header {
  position: relative; }
  .workshop_view header img, .activity_view header img {
    max-width: 100%; }

.workshop_view .pdf_title_block, .activity_view .pdf_title_block {
  text-align: center; }
  .workshop_view .pdf_title_block h2, .activity_view .pdf_title_block h2 {
    margin: 0;
    padding: 0; }
  .workshop_view .pdf_title_block p, .activity_view .pdf_title_block p {
    margin: 0;
    padding: 0; }

.activity-view .activity-title {
  border-bottom: 0.5pt solid black;
  font-weight: 500;
  margin: .2cm 0 .1cm;
  padding: 0; }

.activity-view .activity-content {
  padding-left: .5cm; }

.activity-view .activity_people {
  font-size: 9pt; }

/* !!! Le footer est en dehors du html du contenu <html></html><footer></footer> !!!*/
footer.activity_footer, footer.workshop_footer {
  text-align: left; }
  footer.activity_footer img, footer.workshop_footer img {
    max-width: 100%;
    height: 2cm;
    width: auto; }

.upper {
  text-transform: uppercase; }

.description ul {
  margin-bottom: 3px; }

.description li, .description p, .description div {
  margin: 0;
  padding: 0;
  font-size: 8pt;
  line-height: 1.25;
  vertical-align: middle; }

.description p {
  margin: 2px 0px; }

/* Attestation SAP */
.sap_group {
  border-bottom-width: 0; }

.sap_month {
  width: 4cm;
  border-bottom-width: 0; }

.sap_label {
  width: 6cm; }

.sap_bottom_mention, .sap_bottom_signature {
  width: 50%; }

.sap_bottom_signature {
  text-align: right; }
  .sap_bottom_signature img {
    max-width: 6cm;
    max-height: 6cm; }
